MoP Classic 5.5.4 (68016) compatibility fixes#70
Conversation
WoW MoP Classic 5.5.4 backported several retail API/UI changes that broke SUF on the classic line. Minimal guards/fallbacks: - DebuffTypeColor: rebuilt from the new DEBUFF_TYPE_*_COLOR globals when the old table is absent, keeping correct per-type border colours. - hideBlizzardFrames/basicHideBlizzardFrames: guard nil frames (some class-resource frames don't exist in this build). - HideBlizzardFrames: bail if self.db not ready; use PlayerCastingBarFrame or CastingBarFrame for the cast bar. - auras: guard frame.auras.buffs/.debuffs before indexing. - incheal/layout/runes: guard widget:GetStatusBarTexture() (nil before a texture is set) and skip empty statusbar texture paths. - basecombopoints: guard frame[key].points before iterating. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
|
@jbkellen thanks — and to answer your "retail feature or classic issue" question directly: it's a feature gap in the classic line, not a regression from these fixes. The retail ( The good news: since the retail vehicle code clearly worked on your live 5.5.4 client, the vehicle APIs exist on MoP Classic, so this should be portable to the classic branch. I'll look into bringing the vehicle-swap (player→vehicle frame + vehicle cast bar) over. To make sure I reproduce and test the right thing:
I'll follow up here once I've ported it. Note it touches secure (combat-protected) frame handling, so it'll need in-combat testing before it's solid. |
I was at the Tiller's farm getting into one the wild crops. It casts a "Vine Slam" ability which shows on the cast bar inside the player frame after it switches. One thing that wasn't shown on my screenshots is that the Buff frame at the top right of the screen (next to the minimap) also switches and shows the vehicle's buffs. |
|
Thanks for running those checks @jbkellen — confirmed it's a separate-unit vehicle ( After looking into it: I'm going to leave this out of scope for this PR. Classic-line SUF never implemented vehicle-frame swapping — it's a retail-only feature, not a regression — and this PR is deliberately limited to MoP 5.5.4 compatibility fixes (restoring what broke), not porting retail features into the classic codebase. Vehicle swapping also touches secure/combat-protected frame code, which is a much bigger change than fits a compat fix. If full vehicle-frame support matters to you, the retail/ |
|
No worries. I wouldn't have noticed it at all if it hadn't been for the build posted in #69 |
What
WoW MoP Classic 5.5.4 (build 68016) backported several retail API/UI changes that break Shadowed Unit Frames on the classic line. This adds minimal guards/fallbacks so it runs cleanly on 5.5.4.
This targets the classic branch — the line that actually supports MoP Classic. It supersedes #69, which mistakenly targeted
master(retail); see that PR for the full testing history.Fixes
DEBUFF_TYPE_*_COLORglobals when the old table is absent, keeping correct per-type debuff border colours instead of hardcoding values.hideBlizzardFrames/basicHideBlizzardFrames: guard nil frames (some class-resource frames don't exist in this build).HideBlizzardFrames: bail ifself.dbisn't ready yet; usePlayerCastingBarFrame or CastingBarFramefor the cast bar.frame.auras.buffs/.debuffsbefore indexing.widget:GetStatusBarTexture()(nil before a texture is set) and skip empty statusbar texture paths.frame[key].pointsbefore iterating.Download (testers without git)
The raw GitHub source ZIP does not include the bundled libraries (
libs/are externals), which causes a wave of Lua errors on load. Use this pre-packaged build instead — it includeslibs/and both addon folders:➡️ ShadowedUnitFrames-mop554-classic.zip
Extract into
World of Warcraft/_classic_/Interface/AddOns/(containsShadowedUnitFrames/andShadowedUF_Options/), overwrite if prompted.Testing
Running on a live MoP Classic 5.5.4 install — raiding on a Warlock with no issues, and verified smooth on a Feral Druid and Elemental Shaman as well.